package com.snail.snailvr.utils;

import android.net.TrafficStats;

/**
 * Created by MRKING on 2016/5/21.
 * 统计系统流量的工具类
 * 注意这里得到的单位都是"KB"
 */
public class NetSpeedUtils {

    public static long getTotalRxBytes() {  //获取总的接受字节数，包含Mobile和WiFi等
        return TrafficStats.getTotalRxBytes() == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalRxBytes() / 1024);
    }

    public static long getTotalTxBytes() {  //总的发送字节数，包含Mobile和WiFi等
        return TrafficStats.getTotalTxBytes() == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalTxBytes() / 1024);
    }

    public static long getMobileRxBytes() {  //获取通过Mobile连接收到的字节总数，不包含WiFi
        return TrafficStats.getMobileRxBytes() == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getMobileRxBytes() / 1024);
    }

    public static long getMobileTxBytes() {  //获取通过Mobile连接发送的字节总数，不包含WiFi
        return TrafficStats.getMobileTxBytes() == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getMobileTxBytes() / 1024);
    }
    public static long getUidRxBytes(int uid) {  //获取某个应用的（应用uid）连接接收的字节总数，不包含WiFi
        return TrafficStats.getUidRxBytes(uid) == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getUidRxBytes(uid) / 1024);
    }
    public static long getUidTxBytes(int uid) {  //获取某个应用的（应用uid）发送的字节总数，不包含WiFi
        return TrafficStats.getUidTxBytes(uid) == TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getUidTxBytes(uid) / 1024);
    }


}
